Conditions | 2 |
Total Lines | 14 |
Code Lines | 12 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | import type {DefaultsAndExamplesFromSchema, SchemaWithDefaultsAndExamples} from "./ts-swiss.types" |
||
17 | |||
18 | function extractDefaults<S extends SchemaWithDefaultsAndExamples>({properties}: S) { |
||
19 | const keys: Array<keyof typeof properties> = $keys(properties) |
||
20 | , {length} = keys |
||
21 | , defaults: Partial<DefaultsAndExamplesFromSchema<S>> = {} |
||
22 | |||
23 | for (let i = length; i--;) { |
||
24 | const key = keys[i] |
||
25 | //@ts-ignore |
||
26 | |||
27 | defaults[key] = properties[key].default |
||
28 | } |
||
29 | |||
30 | return defaults as DefaultsAndExamplesFromSchema<S> |
||
31 | } |
||
37 |